import java.util.Random;
import java.util.Scanner;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 沈明月
 * Date: 2022-11-01
 * Time: 23:41
 */
public class KnowledgeSeven {
//循环语句：
//if的用法：
    public static void main1(String[] args) {
        int a = 10;
        //不要忘记加括号（在if那行），括号里面必须要是一个布尔表达式
        if (a == 10) {
            System.out.println("a=10");
        }
    }

//if 和else的用法：
    public static void main2(String[] args) {
        int a = 10;
        if (a < 10) {

        } else {

        }
    }

//else if的用法：
    public static void main3(String[] args) {
        int a=10;
        if(a>10){

        }else if(a<10){

        }else{

        }
    }
//判断一个数字是奇数还是偶数：
    public static void main4(String[] args) {
        int a=10;
        if(a%2!=0){
            System.out.println("奇数");
        }else{
            System.out.println("偶数");
        }
    }

//判断正负数：
    public static void main5(String[] args) {
        int a = 10;
        if(a > 0){
            System.out.println("正数！");
        }else if(a<0){
            System.out.println("负数！");
        }else{
            System.out.println("0!");
        }
    }

//判断一个年份是否是闰年：
    public static void main6(String[] args) {
        //输入一个年份：
        Scanner scanner = new Scanner(System.in);
        int year = scanner.nextInt();

        if(year % 400 == 0 || (year % 100 != 0 && year % 4 == 0)) {
            System.out.println(year+"是闰年！");
        }else{
            System.out.println(year+"不是闰年！");
        }
    }

//switch-case语句：
    public static void main7(String[] args) {
        int a=10;
        //break不要忘记写
        switch(a){
            case 1:
                System.out.println("1");
                break;
            case 2:
                System.out.println("2");
                break;
            case 3:
                System.out.println("3");
                break;
            default:
                System.out.println("有误！");
                break;
        }
    }
//面试题（问的多）
// 不能做switch的参数的数据类型的是：long类型、float类型、double类型、boolean类型

//循环
//while循环
    public static void main8(String[] args) {
        int a=1;
        while(a<=10){
            System.out.println("hello");
            a++;
        }
    }

//计算1到100的和
    public static void main9(String[] args) {
        int a=1;
        int sum=0;
        while(a<=100){
            sum +=a;
            a++;
        }
        System.out.println(sum);
    }

//求5的阶乘
    public static void main10(String[] args) {
        int a=1;
        int ret=1;
        while(a<=5){
            ret *= a;
            a++;
        }
        System.out.println(ret);
    }

//continue和break
//continue是跳出本次循环
//break是跳出整个循环
    public static void main11(String[] args) {
        int a = 1;
        while(a<=10){
            if(a==2){
                a++;
                continue;
            }
            System.out.println(a);
            a++;
        }
    }
    //此代码会死循环
    //因为continue会跳出本此循环，重新开始下一趟循环
    //这也意味着它无法进行a++这个语句，一直都是在a==2的状态
    //所以一直死循环

//找到既可以被3整除也能被5整除的数字（1~100内），要求：使用break或者continue中的一个
    public static void main12(String[] args) {
        int a=3;
        while(a<=100){
            if(a%3==0){
                if(a%5==0){
                    System.out.println(a);
                }else{
                    a++;
                    continue;
                }
            }else{
                a++;
                continue;
            }
            a++;
        }
    }

public static void main13(String[] args) {
        int a=15;
        while(a<=100){
            if(a%3==0&&a%5==0){
                System.out.println(a);
            }else{
                a++;
                continue;
            }
            a++;
        }
    }
//for循环的使用
//打印0~9的数
    public static void main14(String[] args) {
        for (int i = 0; i < 10; i++) {
            System.out.println(i);
        }
    }

//求阶乘的和
    public static void main15(String[] args) {
        int sum = 0;
        for (int k = 1; k <= 6; k++) {
            int ret = 1;
            for (int i = 0; i <= k; i++) {
                ret *= i;
            }
            sum += ret;
        }
        System.out.println(sum);

    }
//do-while();--->基本不用
    public static void main16(String[] args) {
        int i=0;
        do{
            System.out.println(i);
            i++;
        }while(i<100);
    }



//猜数字游戏
    public static void main17(String[] args) {

        Scanner scan = new Scanner(System.in);//读取数字

        Random random = new Random();

        int randNum = random.nextInt(100);//输入的时候直接写100,它会自己显示bound；生成的数的范围：【0，100）
        //int randNum = random.nextInt(50)+50;//范围：[50,100)
        //int randNum = random.nextInt(100)+100;//范围：[100,200)

        //System.out.println(randNum);

        while(true){
            System.out.println("请输入你要猜的数字：");
            int num=scan.nextInt();
            if(num>randNum){
                System.out.println("猜大了！");
            }else if(num==randNum){
                System.out.println("猜对了！");
                break;
            }else{
                System.out.println("猜小了！");
            }
        }
    }
}
